<?php include('connexion_bdd.php'); ?>

<?php
//Création de fonction propre à chaque requette sql(par id, par ville...)
//fonction de recherche par ville, le parametre est l'entrée de l'utilisateur préalablement sécurisée via le Contrôleur
	
			
	//Test sur la variable entrée dans le champ recherche,"if" permet de faire la différence avec la recherche avancée
	if(isset($motclefs)){
	
		function parVilleEtPays($motclefs) {	
			global $bdd;
		
			//requete SQL, on décompose les dates en jour, mois, année, on ne conseve pas les heures. '?' est la partie variable
			$req = $bdd->prepare('SELECT DISTINCT evenement.id AS id_evenement, evenement.avatar, evenement.nom, evenement.descriptionCourte
								  FROM evenement, localisation
								  WHERE evenement.id_localisation = localisation.id
								  AND localisation.ville = ? 
								  OR localisation.pays = ? ');
							  
			//Appel de la partie variable : 'array($motclefs)'. or die... affichera les informations détaillées sur l'erreur SQL, s'il y a.					  
			$req->execute(array($motclefs, $motclefs)) or die(print_r($req->errorInfo())); 
			while ($donnees = $req->fetch()){
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		}
		
		
		function parCodePostal($motclefs) {
			global $bdd;
			$req = $bdd->prepare('SELECT DISTINCT evenement.id AS id_evenement, evenement.avatar, evenement.nom, evenement.descriptionCourte
								  FROM evenement, localisation
								  WHERE evenement.id_localisation = localisation.id
								  AND localisation.CP LIKE ? ');
							  
			//attention ici avec 'like' le marqueur (?) ne doit rien contenir tout est dans la variable $motclefs...					  
			$req->execute(array("$motclefs%")) or die(print_r($req->errorInfo()));  
			while ($donnees = $req->fetch()){
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		}
	
	
		function dansLeTexte($motclefs) {
			global $bdd;
			$req = $bdd->prepare('SELECT DISTINCT evenement.id AS id_evenement, evenement.avatar, evenement.nom, evenement.descriptionCourte
								FROM evenement
								WHERE nom LIKE ?
								OR descriptionCourte LIKE ?
								OR descriptionLongue LIKE ?');
							  
			//attention ici avec 'like' le marqueur (?) ne doit rien contenir tout est dans la variable $motclefs... 3 marqueurs implique 3 variables					  
			$req->execute(array("%$motclefs%", "%$motclefs%", "%$motclefs%")) or die(print_r($req->errorInfo()));  
			while ($donnees = $req->fetch()){
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		}
	
	
	
	
	
	}else {
		if(isset($_SESSION['id']) AND $avancee == true) {
		
			function rechercheAvanceePays(){
				global $bdd;
				$req = $bdd->query('SELECT DISTINCT pays FROM localisation');
				
				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['pays'].'">' . $donnees['pays'] . '</option>';
				}
				$req->closeCursor();
			}

			function rechercheAvanceeVille(){
				global $bdd;
				$req = $bdd->query('SELECT DISTINCT ville FROM localisation');

				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['ville'].'">'.$donnees['ville'].'</option>';
				}
				$req->closeCursor();
		
			}

			function rechercheAvanceeCP(){
				global $bdd;
				$req = $bdd->query('SELECT DISTINCT CP FROM localisation');
	
				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['CP'].'">'.$donnees['CP'].'</option>';
				}
				$req->closeCursor();
			}
	
			function rechercheAvanceeOrganisateur(){
				global $bdd;
				$req = $bdd->query('SELECT DISTINCT pseudo FROM organisateur');

				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['pseudo'].'">'.$donnees['pseudo'].'</option>';
				}
				$req->closeCursor();
			}

			function rechercheAvanceeClasseAge(){
				global $bdd;
				$req = $bdd->query('SELECT attribut FROM classeage');
	
				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['attribut'].'">'.$donnees['attribut'].'</option>';
				}
				$req->closeCursor();
			}
	
			function rechercheAvanceeCategorie(){
				global $bdd;
				$req = $bdd->query('SELECT DISTINCT nom FROM categorie');

				while($donnees = $req->fetch()) {
					echo '<option value="'.$donnees['nom'].'">'.$donnees['nom'].'</option>';
				}
				$req->closeCursor();
			}
		
	
	
	
			//En respectant tj les conditions du dernier 'if', récupération des valeur séléctionnées dans le formulaire de recherche avancée
			function rechercheAvanceeFormulaire($pays, $ville, $CP, $pseudo, $classeAge, $categorie, $motclefsAvancee) {	
				global $bdd;
				
				//on test les paramètres de la fonction pour savoir si les champs des différents menus déroulants du formulaire ont été séléctionné ou pas?
				// si non selctionné : ils renvoient "defaut" --> pb ds la requete SQL --> on les remplace par '%' (on ne les prend pas en compte)
				if($pays == 'defaut'){ 
					$pays = '%';
				}
				if($ville == 'defaut'){ 
					$ville = '%';
				}
				if($CP == 'defaut'){ 
					$CP = '%';
				}
				if($pseudo == 'defaut'){ 
					$pseudo = '%';
				}
				if($classeAge == 'defaut'){ 
					$classeAge = '%';
				}
				if($categorie == 'defaut'){ 
					$categorie = '%';
				}
				if(empty($motclefsAvancee)){ 
					$motclefsAvancee = '%';
				}
		
		
			//requete SQL, on décompose les dates en jour, mois, année, on ne conseve pas les heures. '?' est la partie variable
			$req = $bdd->prepare('SELECT DISTINCT evenement.id AS id_evenement, evenement.avatar AS avatar, evenement.nom AS nom,
									evenement.descriptionCourte AS descriptionCourte, 
									DAY( debut ) AS jourD, MONTH( debut ) AS moisD, YEAR( debut ) AS anneeD, 
									DAY( fin ) AS jourF, MONTH( fin ) AS moisF, YEAR( fin ) AS anneeF
								FROM evenement, localisation, organisateur, classeage_evenement, classeage, categorie
								
								WHERE evenement.id_localisation = localisation.id
								AND evenement.id_organisateur = organisateur.id
								AND evenement.id_categorie = categorie.id
								AND evenement.id = classeage_evenement.id_evenement
								AND classeage_evenement.id_classeage = classeage.id
								
								AND (localisation.pays LIKE ? AND localisation.ville LIKE ? AND localisation.CP LIKE ? 
									 AND organisateur.pseudo LIKE ? AND classeage.nom LIKE ? AND categorie.nom Like ?
									 AND (evenement.nom LIKE ? OR descriptionCourte LIKE ? OR descriptionLongue LIKE ?) )');
							  
			//Appel de la partie variable			  
			$req->execute(array("%$pays%", "%$ville%", "%$CP%", "%$pseudo%", "%$classeAge%", "%$categorie%", "%$motclefsAvancee%",
								"%$motclefsAvancee%", "%$motclefsAvancee%")) or die(print_r($req->errorInfo())); 
		
			while ($donnees = $req->fetch()){
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
			}
		
		
		}
	}
	
	?>